2005-06-26 Matthias Clasen <mclasen@redhat.com>
+ * modules/input/gtkimcontextxim.c (gtk_im_context_xim_finalize):
+ Unregister XIM callbacks here. (#309054)
+
+ * modules/input/gtkimcontextxim.h: Small cleanup.
+
* gtk/gtkmenu.c (gtk_menu_paint): Pay attention to the
scroll offset when drawing the box. (#308834, Tom von
Schwerdtner)
2005-06-26 Matthias Clasen <mclasen@redhat.com>
+ * modules/input/gtkimcontextxim.c (gtk_im_context_xim_finalize):
+ Unregister XIM callbacks here. (#309054)
+
+ * modules/input/gtkimcontextxim.h: Small cleanup.
+
* gtk/gtkmenu.c (gtk_menu_paint): Pay attention to the
scroll offset when drawing the box. (#308834, Tom von
Schwerdtner)
2005-06-26 Matthias Clasen <mclasen@redhat.com>
+ * modules/input/gtkimcontextxim.c (gtk_im_context_xim_finalize):
+ Unregister XIM callbacks here. (#309054)
+
+ * modules/input/gtkimcontextxim.h: Small cleanup.
+
* gtk/gtkmenu.c (gtk_menu_paint): Pay attention to the
scroll offset when drawing the box. (#308834, Tom von
Schwerdtner)
context_xim->finalizing = TRUE;
+ if (context_xim->im_info)
+ {
+ GdkDisplay *display;
+ XIMCallback im_destroy_callback;
+
+ display = gdk_screen_get_display (context_xim->im_info->screen);
+ XUnregisterIMInstantiateCallback (GDK_DISPLAY_XDISPLAY (display),
+ NULL, NULL, NULL,
+ xim_instantiate_callback,
+ (XPointer)context_xim->im_info);
+
+ im_destroy_callback.client_data = NULL;
+ im_destroy_callback.callback = NULL;
+ XSetIMValues (context_xim->im_info->im,
+ XNDestroyCallback, &im_destroy_callback,
+ NULL);
+ }
+
set_ic_client_window (context_xim, NULL);
g_free (context_xim->locale);
#include <gtk/gtkimcontext.h>
#include "x11/gdkx.h"
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
+G_BEGIN_DECLS
extern GType gtk_type_im_context_xim;
void gtk_im_context_xim_shutdown (void);
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
#endif /* __GTK_IM_CONTEXT_XIM_H__ */